﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;

public partial class orderCancel : System.Web.UI.Page
{
    CommonPage cm3 = new CommonPage();
    VLGDataContext _db8 = new VLGDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {
        Session["currentItem"] = "yoursp";
        if (!IsPostBack)
        {
            if (cm3.IsAuthenticated == false)
            {
                Response.Redirect(ResolveClientUrl("~/accessDenied.aspx"));
            }
            else
            {
                fillDulieuLenGrid();
            }
        }
    }

    void fillDulieuLenGrid()
    {
        if (Request.QueryString["type"] != null && Request.QueryString["id"] != null)
        {
            string id = Request.QueryString["id"];
            Order order = null;
            VLGAccount acc = null;
            switch (Request.QueryString["type"])
            {
                case "1":
                    {
                        try
                        {
                            order = (from o in _db8.Orders
                                     where o.idDH == id && o.idAcc == cm3.Customer.idAcc
                                     select o).Single();
                            acc = (from o in _db8.VLGAccounts
                                   where o.idAcc == cm3.Customer.idAcc
                                   select o).Single();
                            if (order != null && acc != null)
                            {
                                order.CustomerCancel = true;
                                //thanh toán paypal --> tra so tien paypal
                                if (order.Type == 0)
                                {
                                    if (acc.soTienPaypal.HasValue)
                                        acc.soTienPaypal = acc.soTienPaypal + 5;
                                    else acc.soTienPaypal = 5;
                                }
                                //thanh toán truc tiep --> tra so du vao so tien
                                else
                                {
                                    if (acc.soTien.HasValue)
                                        acc.soTien = acc.soTien + 5;
                                    else
                                        acc.soTien = 5;
                                }
                                _db8.SubmitChanges();
                                pnMessage.Visible = true;
                                ltrMessage.Text = "Đơn hàng đã hủy, số dư đã được trả lại tài khoản và sẽ được sử dụng cho đơn hàng sau !!!";
                            }
                        }
                        catch
                        {
                            pnMessage.Visible = true;
                            ltrMessage.Text = "Có lỗi xảy ra, vui lòng kiểm tra lại !!!";
                        }
                    }
                    break;
                case "2":
                    {
                        try
                        {
                            order = (from o in _db8.Orders
                                     where o.idDH == id && o.idAcc == cm3.Customer.idAcc
                                     select o).Single();
                            acc = (from o in _db8.VLGAccounts
                                   where o.idAcc == cm3.Customer.idAcc
                                   select o).Single();
                            if (order != null && acc != null)
                            {
                                order.SellerCancel = true;
                                _db8.SubmitChanges();
                                pnMessage.Visible = true;
                                ltrMessage.Text = "Đơn hàng đã hủy !!!";
                            }
                        }
                        catch
                        {
                            pnMessage.Visible = true;
                            ltrMessage.Text = "Có lỗi xảy ra, vui lòng kiểm tra lại !!!";
                        }
                    }
                    break;

                default:
                    {
                        pnMessage.Visible = true;
                        ltrMessage.Text = "Có lỗi xảy ra, vui lòng kiểm tra lại !!!";
                    }
                    break;
            }
        }

    }
    //protected void linkAdd_Click(object sender, EventArgs e)
    //{

    //    Response.Redirect(ResolveClientUrl("~/qlcongviec.aspx?op=add"));
    //}
    //protected void linkDelG_Click(object sender, EventArgs e)
    //{
    //    try
    //    {
    //        string lDel = ((LinkButton)sender).CommandArgument.ToString();
    //        string tenhinh = "";
    //        Gig giDel = _db8.Gigs.Single(iiiid => iiiid.idGig == int.Parse(lDel));
    //        tenhinh = giDel.UrlHinh1;
    //        _db8.Gigs.DeleteOnSubmit(giDel);
    //        _db8.SubmitChanges();

    //        // Xoa hinh tren host
    //        string urlIMG = Server.MapPath("~/upload/") + tenhinh;
    //        string urlIMGThum = Server.MapPath("~/upload/thumnails/") + tenhinh;
    //        File.Delete(urlIMG);
    //        File.Delete(urlIMGThum);
    //        this.fillDulieuLenGrid();
    //    }
    //    catch
    //    {
    //        this.fillDulieuLenGrid();
    //        Literal1.Text = "<script type=\"text/javascript\">" +
    //                            "$(function() { " +
    //                            "alert(\"Không thể xóa công việc này. Vì đang có đơn đặt hàng.\");" +
    //                            "});" +
    //                            "</script>";
    //    }
    //}
    //protected void linkEditG_Click(object sender, EventArgs e)
    //{

    //}


}
